package auctions;

public interface EnglishBuyerStrategy {

    /** Returns the next price the agent is willing to pay if an agent using 
     * this strategy agrees to buy <b>one</b> item at the specified 
     * <b>reference price</b> under the specified conditions in an English
     * auction.
     * @param itemsTotal the total number of items available
     * @param itemsToBuy the number of items remaining to buy.
     * @param price the price for an item.
     * @param maxPrice the maximum price that the agent is willing to pay to
     * buy the remaining objects.
     * @return the next price the agent is willing to pay or -1 if the agent is
     * not willing to buy the item in these conditions.
     */
    public int acceptOffer(int itemsTotal, int itemsToBuy, int price,
                               int maxPrice);
}
